One prior nonvolatile semiconductor memory is the flash electrically erasable programmable read-only memory ("flash" memory). Flash memories are programmed electrically and, once programmed, retain their data until erased. After erasure, flash memories may be programmed with new code or data.
Flash memories differ from conventional electrically erasable programmable read-only memories ("EEPROM") with respect to erasure. Conventional EEPROMS typically use a select transistor for individual byte erasure control. Flash memories, on the other hand, typically achieve much higher densities using single transistor cells. Some prior flash memories are erased by applying a high voltage to the source of every memory cell in the memory array simultaneously. This results in full array erasure.
Flash memory conventions define a logical one as few, if any, electrons stored on the floating gate of a memory cell. Convention also defines a logical zero as many electrons stored on the floating gate of a memory cell. Erasure of a flash memory array causes a logical one to be stored in each memory cell of the array. Flash memory cells cannot be overwritten individually from a logical zero to a logical one without prior erasure. However, a flash memory cell can be overwritten individually from a logical one to a logical zero, because this entails simply adding electrons to the floating gate, which contains the intrinsic number of electrons associated with a logic one.
The process for erasure, programming and verification of flash memories requires careful control of the voltages required to perform those steps. For example, one prior art flash memory is the 28F256 complimentary metal oxide semiconductor ("CMOS") flash memory sold by Intel Corporation of Santa Clara, Calif., which is a 256 kilobit flash memory. The flash memory includes a command register to manage electrical erasure and reprogramming. Commands are written for erasure from a controlling microprocessor using standard microprocessor write timings. The command register contents serve as input to an internal state machine that controls erasure and programming circuitry.
A disadvantage of prior flash memories, and most integrated circuits, is their inflexibility after trimming at sort. At sort, defective memory locations within a flash memory can be replaced with redundant memory elements by programming content addressable memories (CAMs). Also, program voltage levels can be trimmed at sort by programming other CAMs. However, once the available CAMS have been programmed no further modification of the integrated circuit's operation is possible. Thus, program voltage levels cannot be trimmed to account for a memory array's changing program characteristics with time. Nor can memory locations that become defective after sort be replaced.
Another disadvantage of prior flash memories and some prior integrated circuits is their inability to redefine pin functions subsequent to sort. By producing integrated circuits that conform with historical pin definitions, an integrated device manufacturer may lose other customers who require non-historic pin definitions.